home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / C / Applications / POV-Ray 3.0.2 / Scenes / QuickTime VR! / QTVRPanorama.POV < prev   
Encoding:
Text File  |  1997-06-07  |  3.5 KB  |  161 lines  |  [TEXT/POV3]

  1. // Persistence of Vision Ray Tracer Scene Description File
  2. // File: qtvrPanorama.pov
  3. // Vers: 3
  4. // Desc: Show how to design a QuickTime VR panoramic movie file.
  5. //       After rendering this at 1248x384, you need to use
  6. //       Apple's free application "Make QTVR Panorama" to
  7. //       turn it into a panorama movie that can be displayed with
  8. //       Apple's QTVR Player.
  9. //
  10. //       If you want better resolution, try any multiple of 4
  11. //       for width, and multiple of 96 for height.  A good
  12. //       high resolution QTVR scene would be 2016x756.
  13. //
  14. //       This scene is just a quick proof-of-concept, not a
  15. //       full-fledged Myst environment!
  16. // Date: 02/02/1997
  17. // Auth: Eduard Schwan
  18. // Enhancements: Stephen Andrusyszyn, balalaika@earthlink.net
  19. //
  20.  
  21. #version 3
  22.  
  23. #include "colors.inc"
  24. #include "metals.inc"
  25.  
  26. global_settings
  27. {
  28.   assumed_gamma 1.0
  29. }
  30.  
  31. // ----------------------------------------
  32. camera
  33. {
  34.   // Create a 360 degree camera view on its side
  35.   cylinder 2     // sideways cylinder camera (along X axis)
  36.   angle 360      // full 360 degree view
  37.  
  38.   right  1*x
  39.   up     1/2*y  // wider angle
  40.   sky    -x     // orient camera on its side for QTVR Pano tool
  41.   location  <0.0, 0.0, 0.0>
  42.   look_at   <0.0, 0.0, 1.0>
  43. }
  44.  
  45.  
  46. // ----------------------------------------
  47. sky_sphere
  48. {
  49.   pigment
  50.   {
  51.     gradient y
  52.     color_map { [0.0 color blue 0.5] [1.0 color rgb 1] }
  53.   }
  54. }
  55.  
  56. // ----------------------------------------
  57. light_source
  58. {
  59.   0*x // light's position (translated below)
  60.   color red 1.0  green 1.0  blue 1.0  // light's color
  61.   translate <-100, 50, -50>
  62. }
  63.  
  64.  
  65. // ----------------------------------------
  66. plane
  67. {
  68.   y, -1
  69.   texture
  70.   {
  71.     pigment {checker color rgb 1 color blue 0.5 scale <0.5, 1, 2> }
  72.     finish {ambient 0.2}
  73.   }
  74. }
  75.  
  76. // ----------------------------------------
  77. // glass sphere (-z)
  78. sphere
  79. {
  80.   0, 2
  81.   translate <0,1,-6>
  82.   texture
  83.   {
  84.     pigment {color rgb <0.5,1,1> filter 0.9}
  85.     finish
  86.     {
  87.       specular 0.5 refraction 1 ior 1.4
  88.       irid { 0.3 thickness 0.2 turbulence 0.7 }
  89.     }
  90.   }
  91. }
  92.  
  93. // ----------------------------------------
  94. // little marble (-x)
  95. sphere
  96. {
  97.   0, 0.5
  98.   texture
  99.   {
  100.     pigment{radial frequency 8 rotate 30*x}
  101.     finish{specular 0.8}
  102.   }
  103.   translate <-3, -0.5, 0.5>
  104. }
  105.  
  106. // ----------------------------------------
  107. // tower of torii (+7x)
  108. #declare tc = 0
  109. #while (tc < 5)
  110.   torus
  111.   {
  112.     1, 0.5  rotate 90*x
  113.     rotate (tc*20)*y
  114.     translate <12,tc*2,3>
  115.     texture
  116.     { T_Brass_1C }
  117.  }
  118.   #declare tc = tc+1
  119. #end
  120.  
  121. // ----------------------------------------
  122. // Gazebo in center, that we look out from (0)
  123. // first, a rounded square +/-Z bore
  124. #declare CylinderCluster = union
  125. {
  126.   cylinder {-z,+z,1}
  127.   cylinder {-z,+z,1 translate -x-y}
  128.   cylinder {-z,+z,1 translate +x-y}
  129.   cylinder {-z,+z,1 translate -x+y}
  130.   cylinder {-z,+z,1 translate +x+y}
  131.   scale <0.4, 0.4, 1.1>
  132. }
  133. // now a box with the above cylinder set bored through it
  134. #declare HollowBox = intersection
  135. {
  136.   box {-1, +1}
  137.   object {CylinderCluster inverse}
  138.   object {CylinderCluster rotate 90*y inverse}
  139.   object {CylinderCluster rotate 90*x inverse}
  140. }
  141. #declare HBTex = texture
  142. {
  143.   pigment
  144.   {
  145.     crackle turbulence 0.3 scale 0.2  rotate 20*y
  146.     color_map {[0.05 red 0.1] [0.1 rgb <.8,.6,.4>] [0.3 rgb 0.7]}
  147.   }
  148.   normal
  149.   {
  150.     crackle turbulence 0.3 scale 0.2  rotate 20*y bump_size 0.4
  151.   }
  152.   finish { ambient 0.2 specular 0.5 roughness 0.1 }
  153. }
  154. object { HollowBox texture{HBTex} }
  155.  
  156. // ----------------------------------------
  157. // another gazebo off in the distance (+z)
  158. object { HollowBox texture{HBTex} rotate 60*y translate 4*z}
  159.  
  160.  
  161.